package com.liuyfly.leetcode.questions;

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;

/**
 * @author liuyangfang at 2022-09-01 21:51
 */
@Slf4j
public class Question0344 {
    /**
     * 编写一个函数，其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间，你必须原地修改输入数组、使用
     * O(1) 的额外空间解决这一问题。
     * <br/>
     * <br/>
     * 链接：https://leetcode.cn/problems/reverse-string
     */
    public static void reverseString(char[] s) {
        int reverseIndex = s.length - 1;
        for (int i = 0; i < s.length / 2; i++) {
            char temp = s[i];
            s[i] = s[reverseIndex];
            s[reverseIndex] = temp;
            reverseIndex--;
        }
    }

    public static void main(String[] args) {
        char[] s = { 'H', 'a', 'n', 'n', 'a', 'h' };
        reverseString(s);
        log.info("{}", JSON.toJSONString(s));
    }
}
